package com.vegetable.modules.finance.entity.proxy;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 单笔代付接口请求实体类
 */
@Data
@ApiModel(description = "单笔代付接口请求参数")
public class SinglePaymentRequest {
    
    @ApiModelProperty(value = "系统订单号", example = "TEST202301010001", required = true)
    private String sysOrderId;
    
    @ApiModelProperty(value = "商户编号", example = "103290070111234", required = true)
    private String mchntNo;
    
    @ApiModelProperty(value = "回调地址", example = "https://www.example.com/callback", required = true)
    private String responseUrl;
    
    @ApiModelProperty(value = "收款人账户名", example = "张三", required = true)
    private String revAcctName;
    
    @ApiModelProperty(value = "收款人身份证号", example = "341126197709218366", required = true)
    private String revIdCardNum;
    
    @ApiModelProperty(value = "收款人账号", example = "6221558812340000", required = true)
    private String revAcctNo;
    
    @ApiModelProperty(value = "付款金额(单位:分)", example = "1000", required = true)
    private String payAmt;
    
    @ApiModelProperty(value = "备注", example = "测试代付")
    private String remark;
    
    @ApiModelProperty(value = "是否需要验证", example = "1")
    private String verify;
    
    @ApiModelProperty(value = "手机号", example = "13800138000")
    private String mobilePhone;
    
    @ApiModelProperty(value = "终端号", example = "TERM001")
    private String termNo;
    
    @ApiModelProperty(value = "关联交易标识", example = "TRANS001")
    private String associateTransKey;
    
    @ApiModelProperty(value = "收款人账户类型", example = "01")
    private String pyeeAcctTp;
    
    @ApiModelProperty(value = "付款人账户类型", example = "01")
    private String pyerAcctTp;
    
    @ApiModelProperty(value = "收款人银行ID", example = "ICBC")
    private String pyeeBkId;
    
    @ApiModelProperty(value = "收款人银行行号", example = "102100099996")
    private String pyeeBkNo;
}